The present invention generally relates to Built-in-Self-Repair (BISR) schemes, and more specifically relates to memories and fuse blocks.
Built-in-Self-Repair (BISR) is a scheme wherein a certain amount of redundant elements are provided in each memory so that random process defects do not cause excessive yield loss. The current versions of BISR run different patterns at wafer-level to test the memories on the chip and generate a repair solution which can be scanned out of the chip and written to an output file. The repair solutions are then programmed on the respective devices by blowing fuses. In the system, a power-on state machine loads the fuse values into the memories. This repairs the memories (i.e., soft-repair) after which they can be accessed in the functional mode.
FIG. 1 illustrates the structure of a hard-BISR scheme which is currently in use, while FIG. 2 illustrates the method steps of its usage. The scheme provides that memories 30 (“Mem-1”, “Mem-2”, . . . “Mem-100”) are provided on a core 32 which is on a chip 34, and provides that fuse blocks 36 (“B1-1”, “B1-2”, . . . “B1-100”) are provided on the chip 34 and are connected to the memories 30 via routing 38. The scheme provides that there is one fuse block for each repairable memory instance (i.e., fuse block “B1-1” is routed to memory “Mem-1”, fuse block “B1-2” is routed to memory “Mem-2” . . . fuse block “B1-100” is routed to memory “Mem-100”). FIG. 1 shows the specific example where there are 100 memories and 100 fuse blocks. Each of the blocks contains a number of fuses which can be blown to program the repair solution for each memory. The size of these blocks is a function of the amount of redundancy available. For example, a given memory instance with 4 redundant rows needs about 52 fuses and would be (48u×287u) in size. However, these fuse blocks are an overhead in terms of Silicon area utilization and can cause complications in layout and routability of the design. Moreover, in the majority of repairable devices, only a few of the memory instances actually need repair. Therefore, the bulk of the fuse blocks are left unused.